package visiopuce.DAO;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import org.hibernate.Query;

import visiopuce.HibernateUtil;
import visiopuce.objets.Droit;
import visiopuce.objets.Utilisateur;

public class DroitDAOImpl extends GenericDAOImpl<Droit, BigDecimal> implements DroitDAO {

	/** Constructeur priv� */
	private DroitDAOImpl() {
	}

	/** Instance unique non pr�initialis�e */
	private static DroitDAOImpl INSTANCE = null;

	/** Point d'acc�s pour l'instance unique du singleton */
	public static DroitDAO getInstance() {
		if (INSTANCE == null) {
			INSTANCE = new DroitDAOImpl();
		}
		return INSTANCE;
	}

	public String getCrudByUtilisateurAndChamp(Utilisateur utilisateur, String champ) {
		String d = "";
		String sql = "SELECT d FROM Droit d WHERE d.utilisateur = :utilisateur and d.champ like :champ";
		Query query = HibernateUtil.getSession().createQuery(sql).setParameter("utilisateur", utilisateur).setParameter("champ", champ);

		Droit droit = findOne(query);
		if (droit != null) {
			d = droit.getCrud();
		}
		return d;
	}

	@Override
	public Droit getDroitByUtilisateurAndChamp(Utilisateur utilisateur, String champ) {
		String sql = "SELECT d FROM Droit d WHERE d.utilisateur = :utilisateur and d.champ like :champ";
		Query query = HibernateUtil.getSession().createQuery(sql).setParameter("utilisateur", utilisateur).setParameter("champ", champ);
		return findOne(query);
	}

}